#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
//	int a = 7;
//	int b = 9;
//	printf("%d %d \n", a, b);
//	a = a ^ b;
//	b = a ^ b;
//	a = a ^ b;
//	printf("%d %d ", a, b);
//
//	return 0;
//}
//#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	int i = 0;
//	int count = 0;
//	scanf("%d", &n);
//	for (i = 0; i < 32; i++)
//	{
//		if ((n >> i) & 1 == 1)
//			count++;
//	}
//
//	printf("%d", count);
//	return 0;
//}
//

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int count = 0;
//	while (n)
//	{
//		n = n & (n - 1);
//		count++;
//	}
//
//	printf("%d", count);
//
//
//	return 0;
//}


//#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	int m = 0;
//	int t = 0;
//	int i = 0;
//	int count = 0;
//	while (scanf("%d%d", &n, &m) != EOF)
//	{
//		t = n ^m;
//		while (t)
//		{
//			t = t & (t - 1);
//			count++;
//		}
//
//		printf("%d", count);
//	}
//
//
//	return 0;
//}


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int n = 0;
	int flag = 1;
	scanf("%d", &n);
	int arr[32];
	for (int i = 0; i < 32; i++)
	{
		arr[i] =( n >> i)%2;
	}
	for (int i = 31; i >= 0; i --)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
	for (int i = 31; i>=0; i-=2)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");

	for (int i = 30; i >= 0; i -= 2)
	{
		printf("%d ", arr[i]);
	}


	return 0;
}
